Web services provide a standardized way of integrating web-based applications traditionally using eXtensible Markup Language (XML), SOAP, Web Services Description Language (WSDL), and/or Universal Description Discovery, for example, and Integration (UDDI) standards over an Internet Protocol (IP) backbone. XML can be used to tag data used by a web service, SOAP can be used to transfer the data, WSDL can be used for describing the web services available, and UDDI can be used for listing the available web services. Web services allow different applications located at different sources to communicate with each other efficiently and without custom coding which can require a significant amount of resources. Additionally, because communications can be in XML, web services are not tied to any operating system or programming language. Recently, JavaScript Object Notation (JSON) has emerged as a standard object-based messaging format alternative to XML that can be used with the Hypertext Transfer Protocol (HTTP) to generate web services for web applications.
Unlike traditional client/server models, web services do not provide an end user with a graphical user interface (GUI). Instead, web services share data and processes through an application interface across a network. These application interfaces are invoked and used to interpret any resulting data. Web services are increasingly popular since it is relatively easy to integrate them into applications to extend the features offered to end users. However, web service requests are also increasingly complex. For example, many web services require content from various sources to be mashed-up in order to provide a response. Accordingly, the processing of web service requests often requires significant resources, as well as a significant amount of time.